6:{}.toString.call(
e).match(/\
s([
a-
z]+)/
i)[1].toLowerCase(),
getUID=
e=>{
do{
e+=Math.floor(1e6*Math.random())}
while(
document.getElementById(
e));
return e},
getSelector=
e=>{let
t=
e.getAttribute(
"data-bs-target");
if(!
t||
"#"===
t){let
i=
e.getAttribute(
"href");
if(!
i||!
i.includes(
"#")&&!
i.startsWith(
"."))
return null;
i.includes(
"#")&&!
i.startsWith(
"#")&&(
i=
"#"+
i.split(
"#")[1]),
t=
i&&
"#"!==
i?
i.trim():
null}
return t},
getSelectorFromElement=
e=>{
const t=
getSelector(
e);
return t&&
document.querySelector(
t)?
t:
null},
getElementFromSelector=
e=>{
const t=
getSelector(
e);
return t?
document.querySelector(
t):
null},
getTransitionDurationFromElement=
e=>{
if(!
e)
return 0;let{transitionDuration:
t,transitionDelay:
i}=
window.getComputedStyle(
e);
const n=Number.parseFloat(
t),
s=Number.parseFloat(
i);
return n||
s?(
t=
t.split(
",")[0],
i=
i.split(
",")[0],1e3*(Number.parseFloat(
t)+Number.parseFloat(
i))):0},
triggerTransitionEnd=
e=>{
e.dispatchEvent(
new Event(
TRANSITION_END))},
isElement=
e=>!(!
e||
"object"!=typeof
e)&&(
void 0!==
e.jquery&&(
e=
e[0]),
void 0!==
e.nodeType),
getElement=
e=>
isElement(
e)?
e.jquery?
e[0]:
e:
"string"==typeof
e&&
e.length>0?
document.querySelector(
e):
null,
typeCheckConfig=(
e,
t,
i)=>{Object.keys(
i).forEach(
n=>{
const s=
i[
n],
o=
t[
n],
r=
o&&
isElement(
o)?
"element":
null==(
a=
o)?
""+
a:{}.toString.call(
a).match(/\
s([
a-
z]+)/
i)[1].toLowerCase();var
a;
if(!
new RegExp(
s).test(
r))
throw new TypeError(`
${
e.toUpperCase()}: Option
"${n}" provided
type "${r}" but expected
type "${s}".`)})},
isVisible=
e=>!(!
isElement(
e)||0===
e.getClientRects().length)&&
"visible"===getComputedStyle(
e).getPropertyValue(
"visibility"),
isDisabled=
e=>!
e||
e.nodeType!==Node.ELEMENT_NODE||!!
e.classList.contains(
"disabled")||(
void 0!==
e.disabled?
e.disabled:
e.hasAttribute(
"disabled")&&
"false"!==
e.getAttribute(
"disabled")),
findShadowRoot=
e=>{
if(!
document.documentElement.attachShadow)
return null;
if(
"function"==typeof
e.getRootNode){
const t=
e.getRootNode();
return t instanceof ShadowRoot?
t:
null}
return e instanceof ShadowRoot?
e:
e.parentNode?
findShadowRoot(
e.parentNode):null},
noop=()=>{},
reflow=
e=>{
e.offsetHeight},
getjQuery=()=>{
const{
jQuery:
e}=
window;
return e&&!
document.body.hasAttribute(
"data-bs-no-jquery")?
e:
null},
DOMContentLoadedCallbacks=[],
onDOMContentLoaded=
e=>{
"loading"===
document.readyState?(
DOMContentLoadedCallbacks.length||
document.addEventListener(
"DOMContentLoaded",()=>{
DOMContentLoadedCallbacks.forEach(
e=>
e())}),
DOMContentLoadedCallbacks.push(
e)):
e()},
isRTL=()=>
"rtl"===
document.documentElement.dir,
defineJQueryPlugin=
e=>{var
t;
t=()=>{
const t=
getjQuery();
if(
t){
const i=
e.NAME,
n=
t.fn[
i];
t.fn[
i]=
e.jQueryInterface,
t.fn[
i].Constructor=
e,
t.fn[
i].noConflict=()=>(
t.fn[
i]=
n,
e.jQueryInterface)}},
"loading"===
document.readyState?(
DOMContentLoadedCallbacks.length||
document.addEventListener(
"DOMContentLoaded",()=>{
DOMContentLoadedCallbacks.forEach(
e=>
e())}),
DOMContentLoadedCallbacks.push(
t)):
t()},
execute=
e=>{
"function"==typeof
e&&
e()},
executeAfterTransition=(
e,
t,
i=!0)=>{
if(!
i)
return void execute(
e);
const n=
getTransitionDurationFromElement(
t)+5;let
s=!1;
const o=({target:
i})=>{
i===
t&&(
s=!0,
t.removeEventListener(
TRANSITION_END,
o),
execute(
e))};
t.addEventListener(
TRANSITION_END,
o),setTimeout(()=>{
s||
triggerTransitionEnd(
t)},
n)},
getNextActiveElement=(
e,
t,
i,
n)=>{let
s=
e.indexOf(
t);
if(-1===
s)
return e[!
i&&
n?
e.length-1:0];
const o=
e.length;
return s+=
i?1:-1,
n&&(
s=(
s+
o)%
o),
e[Math.max(0,Math.min(
s,
o-1))]},
namespaceRegex=/[^.]*(?=\..*)\.|.*/,
stripNameRegex=/\..*/,
stripUidRegex=/::\d+
$/,
eventRegistry={};let
uidEvent=1;
const customEvents={mouseenter:
"mouseover",mouseleave:
"mouseout"},
customEventsRegex=/^(mouseenter|mouseleave)/
i,
nativeEvents=
new Set([
"click",
"dblclick",
"mouseup",
"mousedown",
"contextmenu",
"mousewheel",
"DOMMouseScroll",
"mouseover",
"mouseout",
"mousemove",
"selectstart",
"selectend",
"keydown",
"keypress",
"keyup",
"orientationchange",
"touchstart",
"touchmove",
"touchend",
"touchcancel",
"pointerdown",
"pointermove",
"pointerup",
"pointerleave",
"pointercancel",
"gesturestart",
"gesturechange",
"gestureend",
"focus",
"blur",
"change",
"reset",
"select",
"submit",
"focusin",
"focusout",
"load",
"unload",
"beforeunload",
"resize",
"move",
"DOMContentLoaded",
"readystatechange",
"error",
"abort",
"scroll"]);
function getUidEvent(
e,
t){
return t&&`
${
t}
::${
uidEvent++}`||
e.uidEvent||
uidEvent++}
function getEvent(
e){
const t=
getUidEvent(
e);
return e.uidEvent=
t,
eventRegistry[
t]=
eventRegistry[
t]||{},
eventRegistry[
t]}
function bootstrapHandler(
e,
t){
return function i(
n){
return n.delegateTarget=
e,
i.oneOff&&
EventHandler.off(
e,
n.type,
t),
t.apply(
e,[
n])}}
function bootstrapDelegationHandler(
e,
t,
i){
return function n(
s){
const o=
e.querySelectorAll(
t);
for(let{target:
r}=
s;
r&&
r!==
this;
r=
r.parentNode)
for(let
a=
o.length;
a--;)
if(
o[
a]===
r)
return s.delegateTarget=
r,
n.oneOff&&
EventHandler.off(
e,
s.type,
t,
i),
i.apply(
r,[
s]);
return null}}
function findHandler(
e,
t,
i=
null){
const n=Object.keys(
e);
for(let
s=0,
o=
n.length;
s<
o;
s++){
const o=
e[
n[
s]];
if(
o.originalHandler===
t&&
o.delegationSelector===
i)
return o}
return null}
function normalizeParams(
e,
t,
i){
const n=
"string"==typeof
t,
s=
n?
i:
t;let
o=
getTypeEvent(
e);
return nativeEvents.has(
o)||(
o=
e),[
n,
s,
o]}
function addHandler(
e,
t,
i,
n,
s){
if(
"string"!=typeof
t||!
e)
return;
if(
i||(
i=
n,
n=
null),
customEventsRegex.test(
t)){
const e=
e=>
function(
t){
if(!
t.relatedTarget||
t.relatedTarget!==
t.delegateTarget&&!
t.delegateTarget.contains(
t.relatedTarget))
return e.call(
this,
t)};
n?
n=
e(
n):
i=
e(
i)}const[
o,
r,
a]=
normalizeParams(
t,
i,
n),
l=
getEvent(
e),
c=
l[
a]||(
l[
a]={}),_=
findHandler(
c,
r,
o?
i:null);
if(_)
return void(_.oneOff=_.oneOff&&
s);
const h=
getUidEvent(
r,
t.replace(
namespaceRegex,
"")),
E=
o?
bootstrapDelegationHandler(
e,
i,
n):
bootstrapHandler(
e,
i);
E.delegationSelector=
o?
i:
null,
E.originalHandler=
r,
E.oneOff=
s,
E.uidEvent=h,
c[h]=
E,
e.addEventListener(
a,
E,
o)}
function removeHandler(
e,
t,
i,
n,
s){
const o=
findHandler(
t[
i],
n,
s);
o&&(
e.removeEventListener(
i,
o,Boolean(
s)),
delete t[
i][
o.uidEvent])}
function removeNamespacedHandlers(
e,
t,
i,
n){
const s=
t[
i]||{};Object.keys(
s).forEach(
o=>{
if(
o.includes(
n)){
const n=
s[
o];
removeHandler(
e,
t,
i,
n.originalHandler,
n.delegationSelector)}})}
function getTypeEvent(
e){
return e=
e.replace(
stripNameRegex,
""),
customEvents[
e]||
e}
const EventHandler={
on(
e,
t,
i,
n){
addHandler(
e,
t,
i,
n,!1)},one(
e,
t,
i,
n){
addHandler(
e,
t,
i,
n,!0)},off(
e,
t,
i,
n){
if(
"string"!=typeof
t||!
e)
return;
const[
s,
o,
r]=
normalizeParams(
t,
i,
n),
a=
r!==
t,
l=
getEvent(
e),
c=
t.startsWith(
".");
if(
void 0!==
o){
if(!
l||!
l[
r])
return;
return void removeHandler(
e,
l,
r,
o,
s?
i:
null)}
c&&Object.keys(
l).forEach(
i=>{
removeNamespacedHandlers(
e,
l,
i,
t.slice(1))});
const _=
l[
r]||{};Object.keys(_).forEach(
i=>{
const n=
i.replace(
stripUidRegex,
"");
if(!
a||
t.includes(
n)){
const t=_[
i];
removeHandler(
e,
l,
r,
t.originalHandler,
t.delegationSelector)}})},trigger(
e,
t,
i){
if(
"string"!=typeof
t||!
e)
return null;
const n=
getjQuery(),
s=
getTypeEvent(
t),
o=
t!==
s,
r=
nativeEvents.has(
s);let
a,
l=!0,
c=!0,_=!1,h=
null;
return o&&
n&&(
a=
n.Event(
t,
i),
n(
e).trigger(
a),
l=!
a.isPropagationStopped(),
c=!
a.isImmediatePropagationStopped(),_=
a.isDefaultPrevented()),
r?(h=
document.createEvent(
"HTMLEvents"),h.initEvent(
s,
l,!0)):h=new CustomEvent(
t,{bubbles:
l,cancelable:!0}),
void 0!==
i&&Object.keys(
i).forEach(
e=>{Object.defineProperty(h,
e,{
get:()=>
i[
e]})}),_&&h.preventDefault(),
c&&
e.dispatchEvent(h),h.defaultPrevented&&
void 0!==
a&&
a.preventDefault(),h}},
elementMap=
new Map;var
Data={
set(
e,
t,
i){
elementMap.has(
e)||
elementMap.set(
e,
new Map);
const n=
elementMap.get(
e);
n.has(
t)||0===
n.size?
n.set(
t,
i):console.error(`Bootstrap doesn
't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const i=elementMap.get(e);i.delete(t),0===i.size&&elementMap.delete(e)}};const VERSION="5.1.0";class BaseComponent{constructor(e){(e=getElement(e))&&(this._element=e,Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(e=>{this[e]=null})}_queueCallback(e,t,i=!0){executeAfterTransition(e,t,i)}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.1.0"}static get NAME(){throw new Error('You have to implement the
static method
"NAME",
for each component!
')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}const enableDismissTrigger=(e,t="hide")=>{const i="click.dismiss"+e.EVENT_KEY,n=e.NAME;EventHandler.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),isDisabled(this))return;const s=getElementFromSelector(this)||this.closest("."+n);e.getOrCreateInstance(s)[t]()}))},NAME$d="alert",DATA_KEY$c="bs.alert",EVENT_KEY$c=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$d}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=Alert.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Alert,"close"),defineJQueryPlugin(Alert);const NAME$c="button",DATA_KEY$b="bs.button",EVENT_KEY$b=".bs.button",DATA_API_KEY$7=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-
toggle=
"button"]
',EVENT_CLICK_DATA_API$6="click.bs.button.data-api";class Button extends BaseComponent{static get NAME(){return NAME$c}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Button.getOrCreateInstance(this);"toggle"===e&&t[e]()}))}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()}),defineJQueryPlugin(Button);const Manipulator={setDataAttribute(e,t,i){e.setAttribute("data-bs-"+normalizeDataKey(t),i)},removeDataAttribute(e,t){e.removeAttribute("data-bs-"+normalizeDataKey(t))},getDataAttributes(e){if(!e)return{};const t={};return Object.keys(e.dataset).filter(e=>e.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),t[n]=normalizeData(e.dataset[i])}),t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute("data-bs-"+normalizeDataKey(t))),offset(e){const t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset,left:t.left+window.pageXOffset}},position:e=>({top:e.offsetTop,left:e.offsetLeft})},NODE_TEXT=3,SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const i=[];let n=e.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(t)&&i.push(n),n=n.parentNode;return i},prev(e,t){let i=e.previousElementSibling;for(;i;){if(i.matches(t))return[i];i=i.previousElementSibling}return[]},next(e,t){let i=e.nextElementSibling;for(;i;){if(i.matches(t))return[i];i=i.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable=
"true"]
'].map(e=>e+':not([tabindex^=
"-"])
').join(", ");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))}},NAME$b="carousel",DATA_KEY$a="bs.carousel",EVENT_KEY$a=".bs.carousel",DATA_API_KEY$6=".data-api",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default$a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType$a={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",KEY_TO_DIRECTION={ArrowLeft:DIRECTION_RIGHT,ArrowRight:DIRECTION_LEFT},EVENT_SLIDE="slide.bs.carousel",EVENT_SLID="slid.bs.carousel",EVENT_KEYDOWN="keydown.bs.carousel",EVENT_MOUSEENTER="mouseenter.bs.carousel",EVENT_MOUSELEAVE="mouseleave.bs.carousel",EVENT_TOUCHSTART="touchstart.bs.carousel",EVENT_TOUCHMOVE="touchmove.bs.carousel",EVENT_TOUCHEND="touchend.bs.carousel",EVENT_POINTERDOWN="pointerdown.bs.carousel",EVENT_POINTERUP="pointerup.bs.carousel",EVENT_DRAG_START="dragstart.bs.carousel",EVENT_LOAD_DATA_API$2="load.bs.carousel.data-api",EVENT_CLICK_DATA_API$5="click.bs.carousel.data-api",CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",CLASS_NAME_POINTER_EVENT="pointer-event",SELECTOR_ACTIVE$1=".active",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM=".carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_NEXT_PREV=".carousel-item-next, .carousel-item-prev",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_INDICATOR="[data-bs-target]",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride=
"carousel"]
',POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen";class Carousel extends BaseComponent{constructor(e,t){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return Default$a}static get NAME(){return NAME$b}next(){this._slide(ORDER_NEXT)}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide(ORDER_PREV)}pause(e){e||(this._isPaused=!0),SelectorEngine.findOne(SELECTOR_NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);const t=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));if(t===e)return this.pause(),void this.cycle();const i=e>t?ORDER_NEXT:ORDER_PREV;this._slide(i,this._items[e])}_getConfig(e){return e={...Default$a,...Manipulator.getDataAttributes(this._element),..."object"==typeof e?e:{}},typeCheckConfig(NAME$b,e,DefaultType$a),e}_handleSwipe(){const e=Math.abs(this.touchDeltaX);if(e<=40)return;const t=e/this.touchDeltaX;this.touchDeltaX=0,t&&this._slide(t>0?DIRECTION_RIGHT:DIRECTION_LEFT)}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER,e=>this.pause(e)),EventHandler.on(this._element,EVENT_MOUSELEAVE,e=>this.cycle(e))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=e=>{!this._pointerEvent||"pen"!==e.pointerType&&"touch"!==e.pointerType?this._pointerEvent||(this.touchStartX=e.touches[0].clientX):this.touchStartX=e.clientX},t=e=>{this.touchDeltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this.touchStartX},i=e=>{!this._pointerEvent||"pen"!==e.pointerType&&"touch"!==e.pointerType||(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(e=>this.cycle(e),500+this._config.interval))};SelectorEngine.find(SELECTOR_ITEM_IMG,this._element).forEach(e=>{EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault())}),this._pointerEvent?(EventHandler.on(this._element,EVENT_POINTERDOWN,t=>e(t)),EventHandler.on(this._element,EVENT_POINTERUP,e=>i(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,t=>e(t)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>t(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>i(e)))}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(t))}_getItemIndex(e){return this._items=e&&e.parentNode?SelectorEngine.find(SELECTOR_ITEM,e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(e,t){const i=e===ORDER_NEXT;return getNextActiveElement(this._items,t,i,this._config.wrap)}_triggerSlideEvent(e,t){const i=this._getItemIndex(e),n=this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,EVENT_SLIDE,{relatedTarget:e,direction:t,from:n,to:i})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const i=SelectorEngine.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t<i.length;t++)if(Number.parseInt(i[t].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(e)){i[t].classList.add("active"),i[t].setAttribute("aria-current","true");break}}}_updateInterval(){const e=this._activeElement||SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);t?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=t):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(e,t){const i=this._directionToOrder(e),n=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element),s=this._getItemIndex(n),o=t||this._getItemByOrder(i,n),r=this._getItemIndex(o),a=Boolean(this._interval),l=i===ORDER_NEXT,c=l?CLASS_NAME_START:CLASS_NAME_END,_=l?CLASS_NAME_NEXT:CLASS_NAME_PREV,h=this._orderToDirection(i);if(o&&o.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,h).defaultPrevented)return;if(!n||!o)return;this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(o),this._activeElement=o;const E=()=>{EventHandler.trigger(this._element,EVENT_SLID,{relatedTarget:o,direction:h,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(_),reflow(o),n.classList.add(c),o.classList.add(c);const e=()=>{o.classList.remove(c,_),o.classList.add("active"),n.classList.remove("active",_,c),this._isSliding=!1,setTimeout(E,0)};this._queueCallback(e,n,!0)}else n.classList.remove("active"),o.classList.add("active"),this._isSliding=!1,E();a&&this.cycle()}_directionToOrder(e){return[DIRECTION_RIGHT,DIRECTION_LEFT].includes(e)?isRTL()?e===DIRECTION_LEFT?ORDER_PREV:ORDER_NEXT:e===DIRECTION_LEFT?ORDER_NEXT:ORDER_PREV:e}_orderToDirection(e){return[ORDER_NEXT,ORDER_PREV].includes(e)?isRTL()?e===ORDER_PREV?DIRECTION_LEFT:DIRECTION_RIGHT:e===ORDER_PREV?DIRECTION_RIGHT:DIRECTION_LEFT:e}static carouselInterface(e,t){const i=Carousel.getOrCreateInstance(e,t);let{_config:n}=i;"object"==typeof t&&(n={...n,...t});const s="string"==typeof t?t:n.slide;if("number"==typeof t)i.to(t);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(e){return this.each((function(){Carousel.carouselInterface(this,e)}))}static dataApiClickHandler(e){const t=getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;const i={...Manipulator.getDataAttributes(t),...Manipulator.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Carousel.carouselInterface(t,i),n&&Carousel.getInstance(t).to(n),e.preventDefault()}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(let t=0,i=e.length;t<i;t++)Carousel.carouselInterface(e[t],Carousel.getInstance(e[t]))}),defineJQueryPlugin(Carousel);const NAME$a="collapse",DATA_KEY$9="bs.collapse",EVENT_KEY$9=".bs.collapse",DATA_API_KEY$5=".data-api",Default$9={toggle:!0,parent:null},DefaultType$9={toggle:"boolean",parent:"(null|element)"},EVENT_SHOW$5="show.bs.collapse",EVENT_SHOWN$5="shown.bs.collapse",EVENT_HIDE$5="hide.bs.collapse",EVENT_HIDDEN$5="hidden.bs.collapse",EVENT_CLICK_DATA_API$4="click.bs.collapse.data-api",CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".show, .collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-
toggle=
"collapse"]
';class Collapse extends BaseComponent{constructor(e,t){super(e),this._isTransitioning=!1,this._config=this._getConfig(t),this._triggerArray=[];const i=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(let e=0,t=i.length;e<t;e++){const t=i[e],n=getSelectorFromElement(t),s=SelectorEngine.find(n).filter(e=>e===this._element);null!==n&&s.length&&(this._selector=n,this._triggerArray.push(t))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$9}static get NAME(){return NAME$a}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e,t=[];if(this._config.parent){const e=SelectorEngine.find(".collapse .collapse",this._config.parent);t=SelectorEngine.find(SELECTOR_ACTIVES,this._config.parent).filter(t=>!e.includes(t))}const i=SelectorEngine.findOne(this._selector);if(t.length){const n=t.find(e=>i!==e);if(e=n?Collapse.getInstance(n):null,e&&e._isTransitioning)return}if(EventHandler.trigger(this._element,EVENT_SHOW$5).defaultPrevented)return;t.forEach(t=>{i!==t&&Collapse.getOrCreateInstance(t,{toggle:!1}).hide(),e||Data.set(t,DATA_KEY$9,null)});const n=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s="scroll"+(n[0].toUpperCase()+n.slice(1));this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[n]="",EventHandler.trigger(this._element,EVENT_SHOWN$5)},this._element,!0),this._element.style[n]=this._element[s]+"px"}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const t=this._triggerArray.length;for(let e=0;e<t;e++){const t=this._triggerArray[e],i=getElementFromSelector(t);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$5)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_getConfig(e){return(e={...Default$9,...Manipulator.getDataAttributes(this._element),...e}).toggle=Boolean(e.toggle),e.parent=getElement(e.parent),typeCheckConfig(NAME$a,e,DefaultType$9),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=SelectorEngine.find(".collapse .collapse",this._config.parent);SelectorEngine.find(SELECTOR_DATA_TOGGLE$4,this._config.parent).filter(t=>!e.includes(t)).forEach(e=>{const t=getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))})}_addAriaAndCollapsedClass(e,t){e.length&&e.forEach(e=>{t?e.classList.remove("collapsed"):e.classList.add("collapsed"),e.setAttribute("aria-expanded",t)})}static jQueryInterface(e){return this.each((function(){const t={};"string"==typeof e&&/show|hide/.test(e)&&(t.toggle=!1);const i=Collapse.getOrCreateInstance(this,t);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const t=getSelectorFromElement(this);SelectorEngine.find(t).forEach(e=>{Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()})})),defineJQueryPlugin(Collapse);const NAME$9="dropdown",DATA_KEY$8="bs.dropdown",EVENT_KEY$8=".bs.dropdown",DATA_API_KEY$4=".data-api",ESCAPE_KEY$2="Escape",SPACE_KEY="Space",TAB_KEY$1="Tab",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",RIGHT_MOUSE_BUTTON=2,REGEXP_KEYDOWN=new RegExp("ArrowUp|ArrowDown|Escape"),EVENT_HIDE$4="hide.bs.dropdown",EVENT_HIDDEN$4="hidden.bs.dropdown",EVENT_SHOW$4="show.bs.dropdown",EVENT_SHOWN$4="shown.bs.dropdown",EVENT_CLICK_DATA_API$3="click.bs.dropdown.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.dropdown.data-api",EVENT_KEYUP_DATA_API="keyup.bs.dropdown.data-api",CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_NAVBAR="navbar",SELECTOR_DATA_TOGGLE$3='[data-bs-
toggle=
"dropdown"]
',SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",Default$8={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},DefaultType$8={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Dropdown extends BaseComponent{constructor(e,t){super(e),this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown(this._menu))return;const e={relatedTarget:this._element};if(EventHandler.trigger(this._element,EVENT_SHOW$4,e).defaultPrevented)return;const t=Dropdown.getParentFromElement(this._element);this._inNavbar?Manipulator.setDataAttribute(this._menu,"popper","none"):this._createPopper(t),"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(e=>EventHandler.on(e,"mouseover",noop)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$4,e)}hide(){if(isDisabled(this._element)||!this._isShown(this._menu))return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){EventHandler.trigger(this._element,EVENT_HIDE$4,e).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(e=>EventHandler.off(e,"mouseover",noop)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$4,e))}_getConfig(e){if(e={...this.constructor.Default,...Manipulator.getDataAttributes(this._element),...e},typeCheckConfig(NAME$9,e,this.constructor.DefaultType),"object"==typeof e.reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(NAME$9.toUpperCase()+': Option
"reference" provided
type "object" without
a required
"getBoundingClientRect" method.
');return e}_createPopper(e){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require
Popper (https:
P on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]', t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');W.getOrCreateInstance(e).toggle()})
function findHandler(events, handler, delegationSelector=null)
function removeHandler(element, events, typeEvent, handler, delegationSelector)
function getUidEvent(element, uid)
function normalizeParams(originalTypeEvent, handler, delegationFn)
const executeAfterTransition
const getTransitionDurationFromElement
function bootstrapHandler(element, fn)
function getEvent(element)
function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff)
const getSelectorFromElement
const getElementFromSelector
const triggerTransitionEnd
function bootstrapDelegationHandler(element, selector, fn)
const DOMContentLoadedCallbacks
function removeNamespacedHandlers(element, events, typeEvent, namespace)
const reflow
Trick to restart an element's animation.
function getTypeEvent(event)
const getNextActiveElement
Return the previous/next element of a list.